Modeling and Reasoning about DOM Events
نویسندگان
چکیده
Web applications are fundamentally reactive. Code in a web page runs in reaction to events, which are triggered either by external stimuli or by other events. The DOM, which specifies these behaviors, is therefore central to the behavior of web applications. We define the first formal model of event behavior in the DOM, with high fidelity to the DOM specification. Our model is concise and executable, and can therefore be used for testing and verification. We have applied it in several settings: to establish some intended meta-properties of the DOM, as an oracle for testing the behavior of browsers (where it found real errors), to demonstrate unwanted interactions between extensions and validate corrections to them, and to examine the impact of a web sandbox. The model composes easily with models of other web components, as a step toward full formal modeling of the web.
منابع مشابه
DOM: Towards a Formal Specification
The W3C Document Object Model (DOM) specifies an XML update library. DOM is written in English, and is therefore not compositional and not complete. We provide a first step towards a compositional specification of DOM. Unlike DOM, we are able to work with a minimal set of commands and obtain a complete reasoning for straight-line code. Our work transfers O’Hearn, Reynolds and Yang’s local Hoare...
متن کاملDOM: Specification and Client Reasoning
We present an axiomatic specification of a key fragment of DOM using structural separation logic. This specification allows us to develop modular reasoning about client programs that call the DOM.
متن کاملFluorescence characteristics and sources of dissolved organic matter for stream water during storm events in a forested mid‐Atlantic watershed
[1] The concentrations and quality of dissolved organic matter (DOM) and their sources were studied for multiple storm events collected over a three‐year period (2008–10) in a forested headwater (12 ha) catchment in the mid‐Atlantic Piedmont region of the USA. DOM constituents were characterized using a suite of indices derived from ultraviolet absorbance and PARAFAC modeling of fluorescence ex...
متن کاملLocal reasoning about Web programs
Since 1990, the world wide web has evolved from a static collection of reference pages to a dynamic programming and application-hosting environment. At the core of this evolution is the programming language JavaScript and the XML update library “DOM”. Every modern web browser contains a DOM implementation which allows JavaScript programs to read and alter the web page that the user is currently...
متن کاملSegment logic
O’Hearn, Reynolds and Yang introduced local Hoare reasoning about mutable data structures using separation logic. They reason about the local parts of the memory accessed by programs, and thus construct their smallest complete specifications. Gardner et al. generalised their work, using context logic to reason about structured data at the same level of abstraction as the data itself. In particu...
متن کامل